package com.example.mylibrary.net;

import com.example.mylibrary.net.request.AcceptHeartRequest;
import com.example.mylibrary.net.request.CheckVersionRequest;
import com.example.mylibrary.net.request.CollectEquipmentRequest;
import com.example.mylibrary.net.request.RoomDetailRequest;
import com.tvpusher.basemodule.net.request.SetEqTypeReqBean;

import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.Streaming;
import retrofit2.http.Url;

import static com.example.mylibrary.net.UrlConstant.ACCEPTHEART;
import static com.example.mylibrary.net.UrlConstant.BLACKSTATUS;
import static com.example.mylibrary.net.UrlConstant.COLLECTEQUIPMENT;
import static com.example.mylibrary.net.UrlConstant.GETBRANDINFOS;
import static com.example.mylibrary.net.UrlConstant.ROOM_DETAIL;
import static com.example.mylibrary.net.UrlConstant.VERSIONCHECK;

/**
 * @author mark.liu
 */
public interface ApiService {
//    @POST(ROOM_DETAIL)
//    @Headers({"Content-Type:multipart/form-data;charset=UTF-8"})
//    Observable<HttpResult<RoomDetailResponse>> roomDetail(@Body RoomDetailRequest request);
//
//    @POST(COLLECTEQUIPMENT)
//    Observable<HttpResult> CollectEquipment(@Body CollectEquipmentRequest request);
//
//    @POST(ACCEPTHEART)
//    Observable<HttpResult<AcceptHeartResBean>> getAcceptHeart(@Body AcceptHeartRequest request);
//
//    @POST(VERSIONCHECK)
//    Observable<HttpResult<CheckVersionResponse>> CheckVersion(@Body CheckVersionRequest request);
//
//    @POST(BLACKSTATUS)
//    Observable<HttpResult<Boolean>> BlackStatus(@Body AcceptHeartRequest request);
//
//    @POST(GETBRANDINFOS)
//    Observable<HttpResult<BrandInfosResponse>> GetBrandInfos(@Body BaseRequest request);
//
//    @POST(GETAPPLICATIONINFOS)
//    Observable<GetApplicationInfosResponse> GetApplicationInfos(@Body BaseRequest request);
//
//    @POST(GETAPPLICATIONINFOS)
//    Observable<NewGetApplicationInfosResponse> NewGetApplicationInfos(@Body BaseRequest request);
//
//
//    @POST(GETTEMPLATE)
//    Observable<HttpResult<TemplateResponse>> GetTemplateInfos(@Body BaseRequest request);
//
//    @POST(GETSTARTADS)
//    Observable<GetStartAdsResponse> GetStartAds(@Body BaseRequest request);
//
//    @POST(GETNAVIGATION)
//    Observable<NavigationResBean> getNavigation(@Body BaseRequest request);
//
//    @POST(GETHOTRECOMMENDS)
//    Observable<HotRecommendedResBean> getHotRecommends(@Body BaseRequest request);
//
//    @Streaming
//    @GET
//    Observable<ResponseBody> DownLoadFile(@Url String fileUrl);
//
//    @GET(GETQTVVIDEOS)
//    Observable<VideoListResBean> getVideoList(@Query("key") String key, @Query("pageNum") int pageNum, @Query("pageSize") int pageSize);
//
//    @GET()
//    Observable<QVResponse> GetQQVideoData(@Url String url);
//
//
//    @POST(SET_EQ_TYPE)
//    Observable<HttpResult> setEqType(@Body SetEqTypeReqBean request);
//
//    @POST(GET_ON_GOING_AD)
//    Observable<HttpResult<GetOnGoingAdResBean>> GetOnGoingAd();
//
//    @GET()
//    Observable<WeatherInfoBean> getWeather(@Url String url);
}